<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CryptoAuthLib: atca_sign_internal_in_out Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CryptoAuthLib
   </div>
   <div id="projectbrief">Microchip CryptoAuthentication Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a01217.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">atca_sign_internal_in_out Struct Reference<div class="ingroups"><a class="el" href="a00994.html">Host side crypto methods (atcah_)</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the <a class="el" href="a00994.html#ga680045caed6e8f6e136e1a2dc3fe1c9e" title="Builds the full message that would be signed by the Sign(Internal) command.">atcah_sign_internal_msg()</a> function.  
 <a href="a01217.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00584_source.html">atca_host.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:a37e90f5e3bd99fac2021fb3a326607d4"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a37e90f5e3bd99fac2021fb3a326607d4">mode</a></td></tr>
<tr class="memdesc:a37e90f5e3bd99fac2021fb3a326607d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] Sign Mode  <a href="#a37e90f5e3bd99fac2021fb3a326607d4">More...</a><br /></td></tr>
<tr class="separator:a37e90f5e3bd99fac2021fb3a326607d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac21eed4200889cc115d16a781871d01c"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#ac21eed4200889cc115d16a781871d01c">key_id</a></td></tr>
<tr class="memdesc:ac21eed4200889cc115d16a781871d01c"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] Sign KeyID  <a href="#ac21eed4200889cc115d16a781871d01c">More...</a><br /></td></tr>
<tr class="separator:ac21eed4200889cc115d16a781871d01c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a547704fabd162cdaa3d5ce84a111a3fc"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a547704fabd162cdaa3d5ce84a111a3fc">slot_config</a></td></tr>
<tr class="memdesc:a547704fabd162cdaa3d5ce84a111a3fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] SlotConfig[TempKeyFlags.keyId]  <a href="#a547704fabd162cdaa3d5ce84a111a3fc">More...</a><br /></td></tr>
<tr class="separator:a547704fabd162cdaa3d5ce84a111a3fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af209160ffa65b538728640eb34e4be75"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#af209160ffa65b538728640eb34e4be75">key_config</a></td></tr>
<tr class="memdesc:af209160ffa65b538728640eb34e4be75"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] KeyConfig[TempKeyFlags.keyId]  <a href="#af209160ffa65b538728640eb34e4be75">More...</a><br /></td></tr>
<tr class="separator:af209160ffa65b538728640eb34e4be75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aea6a2aaa9c7c3368d6a394d4c9ae05"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a0aea6a2aaa9c7c3368d6a394d4c9ae05">use_flag</a></td></tr>
<tr class="memdesc:a0aea6a2aaa9c7c3368d6a394d4c9ae05"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] UseFlag[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A  <a href="#a0aea6a2aaa9c7c3368d6a394d4c9ae05">More...</a><br /></td></tr>
<tr class="separator:a0aea6a2aaa9c7c3368d6a394d4c9ae05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a25483bf435220f212cbe8f0327b0a6"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a4a25483bf435220f212cbe8f0327b0a6">update_count</a></td></tr>
<tr class="memdesc:a4a25483bf435220f212cbe8f0327b0a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] UpdateCount[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A  <a href="#a4a25483bf435220f212cbe8f0327b0a6">More...</a><br /></td></tr>
<tr class="separator:a4a25483bf435220f212cbe8f0327b0a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaeb2ef8df7a105b7f93a9fdb82fd6e8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#afaeb2ef8df7a105b7f93a9fdb82fd6e8">is_slot_locked</a></td></tr>
<tr class="memdesc:afaeb2ef8df7a105b7f93a9fdb82fd6e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] Is TempKeyFlags.keyId slot locked.  <a href="#afaeb2ef8df7a105b7f93a9fdb82fd6e8">More...</a><br /></td></tr>
<tr class="separator:afaeb2ef8df7a105b7f93a9fdb82fd6e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3544274ceb4f8950b3a5fe6640be634"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#ac3544274ceb4f8950b3a5fe6640be634">for_invalidate</a></td></tr>
<tr class="memdesc:ac3544274ceb4f8950b3a5fe6640be634"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] Set to true if this will be used for the Verify(Invalidate) command.  <a href="#ac3544274ceb4f8950b3a5fe6640be634">More...</a><br /></td></tr>
<tr class="separator:ac3544274ceb4f8950b3a5fe6640be634"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef45bac2efcd5394c4ed79f73ee16d23"><td class="memItemLeft" align="right" valign="top">const uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#aef45bac2efcd5394c4ed79f73ee16d23">sn</a></td></tr>
<tr class="memdesc:aef45bac2efcd5394c4ed79f73ee16d23"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] Device serial number SN[0:8] (9 bytes)  <a href="#aef45bac2efcd5394c4ed79f73ee16d23">More...</a><br /></td></tr>
<tr class="separator:aef45bac2efcd5394c4ed79f73ee16d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a714b07e0515fd9d20714a4fc2a16c03e"><td class="memItemLeft" align="right" valign="top">const struct <a class="el" href="a01149.html">atca_temp_key</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a714b07e0515fd9d20714a4fc2a16c03e">temp_key</a></td></tr>
<tr class="memdesc:a714b07e0515fd9d20714a4fc2a16c03e"><td class="mdescLeft">&#160;</td><td class="mdescRight">[in] The current state of TempKey.  <a href="#a714b07e0515fd9d20714a4fc2a16c03e">More...</a><br /></td></tr>
<tr class="separator:a714b07e0515fd9d20714a4fc2a16c03e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35f4a3225daf3021decdc4ecea74fa46"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a35f4a3225daf3021decdc4ecea74fa46">message</a></td></tr>
<tr class="memdesc:a35f4a3225daf3021decdc4ecea74fa46"><td class="mdescLeft">&#160;</td><td class="mdescRight">[out] Full 55 byte message the Sign(internal) command will build. Can be NULL if not required.  <a href="#a35f4a3225daf3021decdc4ecea74fa46">More...</a><br /></td></tr>
<tr class="separator:a35f4a3225daf3021decdc4ecea74fa46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04c0e9b276020bed4ed3d7d670ed3881"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a04c0e9b276020bed4ed3d7d670ed3881">verify_other_data</a></td></tr>
<tr class="memdesc:a04c0e9b276020bed4ed3d7d670ed3881"><td class="mdescLeft">&#160;</td><td class="mdescRight">[out] The 19 byte OtherData bytes to be used with the Verify(In/Validate) command. Can be NULL if not required.  <a href="#a04c0e9b276020bed4ed3d7d670ed3881">More...</a><br /></td></tr>
<tr class="separator:a04c0e9b276020bed4ed3d7d670ed3881"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b448fbaa0c4f1770b7c3f53acf265c5"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01217.html#a0b448fbaa0c4f1770b7c3f53acf265c5">digest</a></td></tr>
<tr class="memdesc:a0b448fbaa0c4f1770b7c3f53acf265c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">[out] SHA256 digest of the full 55 byte message. Can be NULL if not required.  <a href="#a0b448fbaa0c4f1770b7c3f53acf265c5">More...</a><br /></td></tr>
<tr class="separator:a0b448fbaa0c4f1770b7c3f53acf265c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Input/output parameters for calculating the message and digest used by the Sign(internal) command. Used with the <a class="el" href="a00994.html#ga680045caed6e8f6e136e1a2dc3fe1c9e" title="Builds the full message that would be signed by the Sign(Internal) command.">atcah_sign_internal_msg()</a> function. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a0b448fbaa0c4f1770b7c3f53acf265c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b448fbaa0c4f1770b7c3f53acf265c5">&#9670;&nbsp;</a></span>digest</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* digest</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[out] SHA256 digest of the full 55 byte message. Can be NULL if not required. </p>

</div>
</div>
<a id="ac3544274ceb4f8950b3a5fe6640be634"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3544274ceb4f8950b3a5fe6640be634">&#9670;&nbsp;</a></span>for_invalidate</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool for_invalidate</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] Set to true if this will be used for the Verify(Invalidate) command. </p>

</div>
</div>
<a id="afaeb2ef8df7a105b7f93a9fdb82fd6e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaeb2ef8df7a105b7f93a9fdb82fd6e8">&#9670;&nbsp;</a></span>is_slot_locked</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool is_slot_locked</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] Is TempKeyFlags.keyId slot locked. </p>

</div>
</div>
<a id="af209160ffa65b538728640eb34e4be75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af209160ffa65b538728640eb34e4be75">&#9670;&nbsp;</a></span>key_config</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t key_config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] KeyConfig[TempKeyFlags.keyId] </p>

</div>
</div>
<a id="ac21eed4200889cc115d16a781871d01c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac21eed4200889cc115d16a781871d01c">&#9670;&nbsp;</a></span>key_id</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t key_id</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] Sign KeyID </p>

</div>
</div>
<a id="a35f4a3225daf3021decdc4ecea74fa46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35f4a3225daf3021decdc4ecea74fa46">&#9670;&nbsp;</a></span>message</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* message</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[out] Full 55 byte message the Sign(internal) command will build. Can be NULL if not required. </p>

</div>
</div>
<a id="a37e90f5e3bd99fac2021fb3a326607d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37e90f5e3bd99fac2021fb3a326607d4">&#9670;&nbsp;</a></span>mode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t mode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] Sign Mode </p>

</div>
</div>
<a id="a547704fabd162cdaa3d5ce84a111a3fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a547704fabd162cdaa3d5ce84a111a3fc">&#9670;&nbsp;</a></span>slot_config</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t slot_config</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] SlotConfig[TempKeyFlags.keyId] </p>

</div>
</div>
<a id="aef45bac2efcd5394c4ed79f73ee16d23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef45bac2efcd5394c4ed79f73ee16d23">&#9670;&nbsp;</a></span>sn</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const uint8_t* sn</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] Device serial number SN[0:8] (9 bytes) </p>

</div>
</div>
<a id="a714b07e0515fd9d20714a4fc2a16c03e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a714b07e0515fd9d20714a4fc2a16c03e">&#9670;&nbsp;</a></span>temp_key</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const struct <a class="el" href="a01149.html">atca_temp_key</a>* temp_key</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] The current state of TempKey. </p>

</div>
</div>
<a id="a4a25483bf435220f212cbe8f0327b0a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a25483bf435220f212cbe8f0327b0a6">&#9670;&nbsp;</a></span>update_count</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t update_count</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] UpdateCount[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A </p>

</div>
</div>
<a id="a0aea6a2aaa9c7c3368d6a394d4c9ae05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0aea6a2aaa9c7c3368d6a394d4c9ae05">&#9670;&nbsp;</a></span>use_flag</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t use_flag</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[in] UseFlag[TempKeyFlags.keyId], 0x00 for slots 8 and above and for ATECC508A </p>

</div>
</div>
<a id="a04c0e9b276020bed4ed3d7d670ed3881"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04c0e9b276020bed4ed3d7d670ed3881">&#9670;&nbsp;</a></span>verify_other_data</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t* verify_other_data</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>[out] The 19 byte OtherData bytes to be used with the Verify(In/Validate) command. Can be NULL if not required. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="a01217.html">atca_sign_internal_in_out</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
